<?php
    if ($this->getUsuario() != null) {
    	if (!$_POST) {
    		
			if (defined('PARAMETRO_0')) {
				$visualizacao	=	PARAMETRO_0;
				if (PARAMETRO_0 == 'usuario') {
					$idUsuario		=	(defined('PARAMETRO_1') && is_numeric(PARAMETRO_1)) ? PARAMETRO_1 : null;
					$nomeUsuario	=	defined('PARAMETRO_2') ? PARAMETRO_2 : null;
					$edicaoPossivel	=	$this->getUsuario()->getTipoCadastro() == 'administrador' ? true : false;
					$editar 		=	defined('PARAMETRO_3') && PARAMETRO_3 == 'editar' ? true : false;
					$urlEditar		=	array("usuario", $idUsuario, $nomeUsuario, "editar");
				}
				else {
					if (PARAMETRO_0 == 'meusdados') {
						$idUsuario 			=	$this->getUsuario()->getIdUsuario();
						$edicaoPossivel 	=	true;
						$editar 			=	defined('PARAMETRO_1') && PARAMETRO_1 == 'editar' ? true : false;
						$urlEditar 			=	array("meusdados", "editar");
					}
					else {
						$idUsuario 	=	null;
					}
				}
			}
			else {
				$idUsuario 	=	null;
			}
			
			if ($idUsuario == null) {
				//TODO ERRO
				redireciona($_SESSION['constructore']['URLOrigem']);
			}
			else {
				
				if ($editar && !$edicaoPossivel) {
					echo "Não pode editar!";
					//TODO ERRO!
				}
				else {
					$usuarioVisualizar	=	new Usuario($idUsuario);
					
					if ($usuarioVisualizar->getIdUsuario() != null) {
						
						$_SESSION['constructore']['meusDados']['nome']					=	$usuarioVisualizar->getNome();
						$_SESSION['constructore']['meusDados']['email']					=	$usuarioVisualizar->getEmail();
						$_SESSION['constructore']['meusDados']['tipoCadastro']			=	$usuarioVisualizar->getTipoCadastro();
						$_SESSION['constructore']['meusDados']['dataNascimento']		=	$usuarioVisualizar->getDataNascimento();
						$_SESSION['constructore']['meusDados']['sexo']					=	$usuarioVisualizar->getSexo();
						$_SESSION['constructore']['meusDados']['cidade']				=	$usuarioVisualizar->getCidade();
						$_SESSION['constructore']['meusDados']['estado']				=	$usuarioVisualizar->getEstado();
						$_SESSION['constructore']['meusDados']['instituicao']			=	$usuarioVisualizar->getInstituicao();
						$_SESSION['constructore']['meusDados']['nivel']					=	$usuarioVisualizar->getAlunoNivel();
						$_SESSION['constructore']['meusDados']['curso']					=	$usuarioVisualizar->getAlunoCurso();
						$_SESSION['constructore']['meusDados']['periodo']				=	$usuarioVisualizar->getAlunoPeriodo();
						$_SESSION['constructore']['meusDados']['instituto']				=	$usuarioVisualizar->getProfessorInstituto();
						$_SESSION['constructore']['meusDados']['departamento']			=	$usuarioVisualizar->getProfessorDepartamento();
						$_SESSION['constructore']['meusDados']['titulacao']				=	$usuarioVisualizar->getProfessorTitulacao();
						$_SESSION['constructore']['meusDados']['enderecoInstitucional']	=	$usuarioVisualizar->getProfessorEnderecoInstitucional();
						$_SESSION['constructore']['meusDados']['telefoneInstitucional']	=	$usuarioVisualizar->getProfessorTelefoneInstitucional();
						$_SESSION['constructore']['meusDados']['cursosPretendidos']		=	$usuarioVisualizar->getProfessorCursosPretendidos();
						
						$professorTemCurso	=	false;
						
						$cursosUsuarioVisualizar 	=	$usuarioVisualizar->getCursos();
						foreach ($cursosUsuarioVisualizar as $idCurso => $curso) {
							foreach ($curso['turmas'] as $turma) {
								if ($turma['funcaoUsuario'] == 'professor') {
									$professorTemCurso	=	true;
									break;
								}
							}
							if ($professorTemCurso) break;
						}
						
						$this->getRegistro()->set('urlEditar', $urlEditar);
						array_pop($urlEditar);
						$urlCancelar 	=	$urlEditar;
						$this->getRegistro()->set('urlCancelar', $urlCancelar);
						$this->getRegistro()->set('editar', $editar);
						$this->getRegistro()->set('edicaoPossivel', $edicaoPossivel);
						$this->getRegistro()->set('usuarioVisualizar', $usuarioVisualizar);
						$this->getRegistro()->set('visualizacao', $visualizacao);
						$this->getRegistro()->set('professorTemCurso', $professorTemCurso);
						$this->getRegistro()->set('tipoUsuarioAtual', $this->getUsuario()->getTipoCadastro());
						
						$this->exibir('usuario.php');
						unset($_SESSION['constructore']['meusDados']);
					}
					else {
						echo "ERRO";
						//TODO Usuario nao existe!
					}
				}
			}
    	}
		else {
			
			/*
			 * Dados Pessoais
			 */
			
			$strNome		=	$_POST['inputNome'];
			
			if($_FILES['inputFoto']['name'] != ''){
				$arquivoFoto	=	$_FILES['inputFoto'];
				$strFoto		=	$arquivoFoto['name'];
			}
			else{
				$arquivoFoto	=	null;
				$strFoto		=	'';
			}
			
			$intDataNascimento		=	isset($_POST['inputDataNascimentoDia']) && isset($_POST['inputDataNascimentoMes']) && isset($_POST['inputDataNascimentoAno']) ? $_POST['inputDataNascimentoAno'] . '-' . $_POST['inputDataNascimentoMes'] . '-' . $_POST['inputDataNascimentoDia'] : '';
			$strSexo 				=	isset($_POST['inputSexo']) ? $_POST['inputSexo'] : '';
			$strCidade				=	isset($_POST['inputCidade']) ? $_POST['inputCidade'] : '';
			$strEstado				=	isset($_POST['selectEstado']) ? $_POST['selectEstado'] : '';
			
			/*
			 * Tipo de Cadastro
			 */
			
			$tipoCadastro 	=	isset($_POST['inputTipoCadastro']) ? $_POST['inputTipoCadastro'] : null;
			
			/*
			 * DADOS DE ALUNO E PROFESSOR
			 */
			
			$strInstituicao		=	isset($_POST['inputInstituicao']) ? $_POST['inputInstituicao'] : '';
			
			$strNivel	=	isset($_POST['selectNivel']) ? $_POST['selectNivel'] : '--';
			$strCurso	=	isset($_POST['inputCurso']) ? $_POST['inputCurso'] : '';
			$intPeriodo	=	isset($_POST['selectPeriodo']) ? $_POST['selectPeriodo'] : '--';
			
			$strInstituto 					=	isset($_POST['inputInstituto']) ? $_POST['inputInstituto'] : '';
			$strDepartamento				=	isset($_POST['inputDepartamento']) ? $_POST['inputDepartamento'] : '';
			$strTitulacao 					=	isset($_POST['selectTitulacao']) ? $_POST['selectTitulacao'] : '--';
			$strEnderecoInstitucional 		=	isset($_POST['inputEnderecoInstitucional']) ? $_POST['inputEnderecoInstitucional'] : '';
			$intTelefoneInstitucional		=	isset($_POST['inputTelefoneInstitucionalDDD']) && isset($_POST['inputTelefoneInstitucionalPrefixo']) && isset($_POST['inputTelefoneInstitucionalSufixo']) ? $_POST['inputTelefoneInstitucionalDDD'] . $_POST['inputTelefoneInstitucionalPrefixo'] . $_POST['inputTelefoneInstitucionalSufixo'] : '';
			$strDisciplinasPretendidas 		=	isset($_POST['textareaDisciplinasPretendidas']) ? $_POST['textareaDisciplinasPretendidas'] : '';
			
			/*
			 * DADOS DE CADASTRO
			 */
			$strEmail				=	isset($_POST['inputEmail']) ? $_POST['inputEmail'] : '';
			$strConfirmaEmail		=	isset($_POST['inputConfirmaEmail']) ? $_POST['inputConfirmaEmail'] : '';
			$strSenha				=	isset($_POST['inputSenha']) ? $_POST['inputSenha'] : '';
			$strConfirmaSenha		=	isset($_POST['inputConfirmaSenha']) ? $_POST['inputConfirmaSenha'] : '';
			
			if ($tipoCadastro == $this->getUsuario()->getTipoCadastro()) {
				$termoCompromisso 	=	true;
			}
			else {
				//TODO Usuario mudou o tipo de cadastro exibir termo
				$termoCompromisso 	=	false;
			}
			echo $this->getUsuario()->getTipoCadastro() . "FOI!";
			
			if ($this->getUsuario()->alterarUsuario($strEmail, $strEmail, $strSenha, $strConfirmaSenha, $tipoCadastro, $strNome, $arquivoFoto, $intDataNascimento, $strSexo, $strCidade, $strEstado, $strInstituicao, $strNivel, $strCurso, $intPeriodo, $strInstituto, $strDepartamento, $strTitulacao, $strEnderecoInstitucional, $intTelefoneInstitucional, $strDisciplinasPretendidas, $termoCompromisso)) {
				echo "EEEEEEEEEEEEEEEEEEEEEE!";
			}
			else {
				echo "AAAAAAAAAAAAAAAAAAAAAAAAAH!";
			}
		}
    }
	else {
		$strMensagem	=	"Você deve estar logado para acessar seus dados.";
		$_SESSION['constructore']['mensagens']['erroAcesso']	=	$strMensagem;
		redireciona(array('principal'));
	}
?>